<?php
/**
 * 报单系统配置文件
 */

// 错误报告设置（开发环境）
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

// 数据库配置
define('DB_HOST', 'localhost');
define('DB_PORT', '3306');
define('DB_NAME', 'wflg');
define('DB_USERNAME', 'wflg');
define('DB_PASSWORD', '010704');

// 应用配置
define('APP_URL', 'http://' . $_SERVER['HTTP_HOST']);
define('UPLOAD_PATH', __DIR__ . '/uploads/');
define('UPLOAD_URL', APP_URL . '/uploads/');

// PushPlus配置
define('PUSHPLUS_API_URL', 'http://www.pushplus.plus/send');

// 安全配置
define('CSRF_TOKEN_EXPIRE', 3600); // CSRF令牌有效期1小时
define('MAX_LOGIN_ATTEMPTS', 5); // 最大登录尝试次数
define('LOGIN_LOCKOUT_TIME', 900); // 登录锁定时间15分钟

// 会话配置 - 延长登录有效期
ini_set('session.gc_maxlifetime', 2592000); // 30天
ini_set('session.cookie_lifetime', 2592000); // 30天
ini_set('session.cookie_httponly', 1); // 增加安全性
ini_set('session.cookie_secure', 0); // 如果使用HTTPS改为1，本地开发设为0
ini_set('session.use_strict_mode', 1); // 使用严格模式
ini_set('session.cookie_samesite', 'Strict'); // 防止CSRF

// 安全头
header('X-Frame-Options: DENY');
header('X-Content-Type-Options: nosniff');
header('X-XSS-Protection: 1; mode=block');
header('Referrer-Policy: strict-origin-when-cross-origin');

// 启动会话
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

// 时区设置
date_default_timezone_set('Asia/Shanghai');

// 主题配置
define('DEFAULT_THEME_COLOR', '#ffb6c1'); // 默认樱花粉
define('THEME_COLORS', [
    'sakura' => ['name' => '樱花粉', 'color' => '#ffb6c1'],
    'ocean' => ['name' => '海洋蓝', 'color' => '#1890ff'],
    'forest' => ['name' => '森林绿', 'color' => '#52c41a'],
    'sunset' => ['name' => '日落橙', 'color' => '#fa8c16'],
    'grape' => ['name' => '葡萄紫', 'color' => '#722ed1'],
    'volcano' => ['name' => '火山红', 'color' => '#fa541c']
]);

// 在 session_start() 后添加主题初始化
if (!isset($_SESSION['theme_color'])) {
    $_SESSION['theme_color'] = DEFAULT_THEME_COLOR;
    $_SESSION['theme_name'] = 'sakura';
}

// 获取用户主题颜色
function getThemeColor() {
    if (isset($_SESSION['theme_color'])) {
        return $_SESSION['theme_color'];
    }
    return DEFAULT_THEME_COLOR;
}

// 获取用户主题名称
function getThemeName() {
    if (isset($_SESSION['theme_name'])) {
        return $_SESSION['theme_name'];
    }
    return 'sakura';
}